package com.qs.service;

import com.qs.pojo.dto.CartDto;
import com.qs.pojo.dto.UserGoodsLogDto;
import com.qs.pojo.entity.UserGoodsLog;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 用户购买商品历史表 服务类
 * </p>
 *
 * @author author
 * @since 2023-12-09
 */
public interface IUserGoodsLogService extends IService<UserGoodsLog> {

    /**
     * 获取当前用户的待发货商品
     * @param userId
     * @return
     */
    List<UserGoodsLogDto> getWaitDelivery(Integer userId);

    /**
     * 获取当前用户的待收货商品
     * @param userId
     * @return
     */
    List<UserGoodsLogDto> getWaitTake(Integer userId);

    /**
     * 获取当前用户的待评价商品
     * @param userId
     * @return
     */
    List<UserGoodsLogDto> getWaitComment(Integer userId);

    /**
     * 获取当前用户的已完结商品
     * @param userId
     * @return
     */
    List<UserGoodsLogDto> getEndGoods(Integer userId);

    /**
     * 确认收货接口
     * @param goodsId
     * @return
     */
    void confirmTakeGoods(Integer goodsId,String orderId);

    /**
     * 获取店铺所属的订单（待发货，待收货，已收货）
     * @param pageNo
     * @param pageSize
     * @param storeId
     * @return
     */
    Map<String, Object> getWaitOrders(Integer pageNo, Integer pageSize, Integer storeId);

    /**
     * 后台发货接口
     * @param id
     * @return
     */
    void toDoDelivery(Integer id);

    /**
     * 获取待收货的商品
     * @param pageNo
     * @param pageSize
     * @param storeId
     * @return
     */
    Map<String, Object> getTakeGoods(Integer pageNo, Integer pageSize, Integer storeId);

    /**
     * 获取已收货的商品
     * @param pageNo
     * @param pageSize
     * @param storeId
     * @return
     */
    Map<String, Object> getReceivedGoods(Integer pageNo, Integer pageSize, Integer storeId);

}
